package co.rcantor.dev.siasar.sistema;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import co.rcantor.dev.siasar.R;

public class TabSistema5 extends Activity {

	private static TextView fechaDisplay;
    private Button selFecha;
    private int YY;
    private int MM;
    private int DD;
    static final int DATE_DIALOG_ID = 0;
	
	private static String caudal_estaje_tipo;
	private static String caudal_actual_tipo;
	private static String suficiente_agua_verano;
	private static String suficiente_agua_invierno;
	private static String estado_fuente_cuenca;
	private static String tipo_almacenamiento;
	
	private static EditText caudal_estaje;
	private static EditText caudal_actual;
	private static EditText capacidad_almacenamiento;

	
	private DatePickerDialog.OnDateSetListener fechaListener =
            new DatePickerDialog.OnDateSetListener() {
                public void onDateSet(DatePicker view, int year, 
                                      int month, int day) {
                    YY = year;
                    MM = month+1;
                    DD = day;
                    updateDisplay();
                }
            };
            
            
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tabsistema5);

		caudal_estaje = (EditText) findViewById(R.id.caudalestaje);
		caudal_actual = (EditText) findViewById(R.id.caudalactual);
		capacidad_almacenamiento = (EditText) findViewById(R.id.capacidadalmacenamiento);

		Spinner spcaudal_estaje_tipo = (Spinner) findViewById(R.id.caudalestajecom);
		ArrayAdapter<CharSequence> adcaudal_estaje_tipo = ArrayAdapter
				.createFromResource(this, R.array.tipo_medida_caudal,
						android.R.layout.simple_spinner_item);
		adcaudal_estaje_tipo
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spcaudal_estaje_tipo.setAdapter(adcaudal_estaje_tipo);
		spcaudal_estaje_tipo
				.setOnItemSelectedListener(new MyOnItemSelectedListener());
		
		Spinner spcaudal_actual_tipo = (Spinner) findViewById(R.id.caudalactualcom);
		ArrayAdapter<CharSequence> adcaudal_actual_tipo = ArrayAdapter
				.createFromResource(this, R.array.tipo_medida_caudal,
						android.R.layout.simple_spinner_item);
		adcaudal_actual_tipo
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spcaudal_actual_tipo.setAdapter(adcaudal_actual_tipo);
		spcaudal_actual_tipo
				.setOnItemSelectedListener(new MyOnItemSelectedListener());
		
		Spinner spsuficiente_agua_verano = (Spinner) findViewById(R.id.suficienteaguaveranocom);
		ArrayAdapter<CharSequence> adsuficiente_agua_verano = ArrayAdapter
				.createFromResource(this, R.array.si_no,
						android.R.layout.simple_spinner_item);
		adsuficiente_agua_verano
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spsuficiente_agua_verano.setAdapter(adsuficiente_agua_verano);
		spsuficiente_agua_verano
				.setOnItemSelectedListener(new MyOnItemSelectedListener());
		
		Spinner spsuficiente_agua_invierno = (Spinner) findViewById(R.id.suficienteaguainviernocom);
		ArrayAdapter<CharSequence> adsuficiente_agua_invierno = ArrayAdapter
				.createFromResource(this, R.array.si_no,
						android.R.layout.simple_spinner_item);
		adsuficiente_agua_invierno
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spsuficiente_agua_invierno.setAdapter(adsuficiente_agua_invierno);
		spsuficiente_agua_invierno
				.setOnItemSelectedListener(new MyOnItemSelectedListener());
		
		Spinner spestado_fuente_cuenca = (Spinner) findViewById(R.id.estadofuentecuencacom);
		ArrayAdapter<CharSequence> adestado_fuente_cuenca = ArrayAdapter
				.createFromResource(this, R.array.estado_proteccion_cuenca,
						android.R.layout.simple_spinner_item);
		adestado_fuente_cuenca
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spestado_fuente_cuenca.setAdapter(adestado_fuente_cuenca);
		spestado_fuente_cuenca
				.setOnItemSelectedListener(new MyOnItemSelectedListener());
		
		Spinner sptipo_almacenamiento = (Spinner) findViewById(R.id.capacidadalmacenamientocom);
		ArrayAdapter<CharSequence> adtipo_almacenamiento = ArrayAdapter
				.createFromResource(this, R.array.tipo_almacenamiento,
						android.R.layout.simple_spinner_item);
		adtipo_almacenamiento
				.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sptipo_almacenamiento.setAdapter(adtipo_almacenamiento);
		sptipo_almacenamiento
				.setOnItemSelectedListener(new MyOnItemSelectedListener());
		
		fechaDisplay = (TextView) findViewById(R.id.fechaDisplay);
        selFecha = (Button) findViewById(R.id.caudalestajefecha);

        selFecha.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });

        final Calendar c = Calendar.getInstance();
        YY = c.get(Calendar.YEAR);
        MM = c.get(Calendar.MONTH)+1;
        DD = c.get(Calendar.DAY_OF_MONTH);

        updateDisplay();
	        
	}

	private void updateDisplay() {    		
        fechaDisplay.setText(new StringBuilder()
        			.append(YY).append("-")
                    .append(MM<10?"0"+MM:MM).append("-")
                    .append(DD<10?"0"+DD:DD));
    }
    
    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            return new DatePickerDialog(this,
                        fechaListener,
                        YY, MM-1, DD);
        }
        return null;
    }
	
	public class MyOnItemSelectedListener implements OnItemSelectedListener {
		public void onItemSelected(AdapterView<?> parent, View view, int pos,
				long id) {
			if (parent.getId() == R.id.caudalestajecom)
				setCaudal_estaje_tipo((pos + 1) + "");
			if (parent.getId() == R.id.caudalactualcom)
				setCaudal_actual_tipo((pos + 1) + "");
			if (parent.getId() == R.id.suficienteaguaveranocom)
				setSuficiente_agua_verano((pos + 1) + "");
			if (parent.getId() == R.id.suficienteaguainviernocom)
				setSuficiente_agua_invierno((pos + 1) + "");
			if (parent.getId() == R.id.estadofuentecuencacom)
				setEstado_fuente_cuenca((pos + 1) + "");
			if (parent.getId() == R.id.capacidadalmacenamientocom)
				setTipo_almacenamiento((pos + 1) + "");
		}

		public void onNothingSelected(AdapterView<?> parent) {
			if (parent.getId() == R.id.caudalestajecom)
				setCaudal_estaje_tipo("1");
			if (parent.getId() == R.id.caudalactualcom)
				setCaudal_actual_tipo("1");
			if (parent.getId() == R.id.suficienteaguaveranocom)
				setSuficiente_agua_verano("1");
			if (parent.getId() == R.id.suficienteaguainviernocom)
				setSuficiente_agua_invierno( "1");
			if (parent.getId() == R.id.estadofuentecuencacom)
				setEstado_fuente_cuenca("1");
			if (parent.getId() == R.id.capacidadalmacenamientocom)
				setTipo_almacenamiento("1");
		}
	}

	public static TextView getFechaDisplay() {
		return fechaDisplay;
	}

	public void setFechaDisplay(TextView fechaDisplay) {
		TabSistema5.fechaDisplay = fechaDisplay;
	}

	public static String getCaudal_estaje_tipo() {
		return caudal_estaje_tipo;
	}

	public static void setCaudal_estaje_tipo(String caudal_estaje_tipo) {
		TabSistema5.caudal_estaje_tipo = caudal_estaje_tipo;
	}

	public static String getCaudal_actual_tipo() {
		return caudal_actual_tipo;
	}

	public static void setCaudal_actual_tipo(String caudal_actual_tipo) {
		TabSistema5.caudal_actual_tipo = caudal_actual_tipo;
	}

	public static String getSuficiente_agua_verano() {
		return suficiente_agua_verano;
	}

	public static void setSuficiente_agua_verano(String suficiente_agua_verano) {
		TabSistema5.suficiente_agua_verano = suficiente_agua_verano;
	}

	public static String getSuficiente_agua_invierno() {
		return suficiente_agua_invierno;
	}

	public static void setSuficiente_agua_invierno(String suficiente_agua_invierno) {
		TabSistema5.suficiente_agua_invierno = suficiente_agua_invierno;
	}

	public static String getEstado_fuente_cuenca() {
		return estado_fuente_cuenca;
	}

	public static void setEstado_fuente_cuenca(String estado_fuente_cuenca) {
		TabSistema5.estado_fuente_cuenca = estado_fuente_cuenca;
	}

	public static String getTipo_almacenamiento() {
		return tipo_almacenamiento;
	}

	public static void setTipo_almacenamiento(String tipo_almacenamiento) {
		TabSistema5.tipo_almacenamiento = tipo_almacenamiento;
	}

	public static EditText getCaudal_estaje() {
		return caudal_estaje;
	}

	public static void setCaudal_estaje(EditText caudal_estaje) {
		TabSistema5.caudal_estaje = caudal_estaje;
	}

	public static EditText getCaudal_actual() {
		return caudal_actual;
	}

	public static void setCaudal_actual(EditText caudal_actual) {
		TabSistema5.caudal_actual = caudal_actual;
	}

	public static EditText getCapacidad_almacenamiento() {
		return capacidad_almacenamiento;
	}

	public static void setCapacidad_almacenamiento(EditText capacidad_almacenamiento) {
		TabSistema5.capacidad_almacenamiento = capacidad_almacenamiento;
	}	

}
